The design philosophy of distributed programming systems : the Mozart experience
نویسنده
چکیده
Distributed programming is usually considered both difficult and inherently different from concurrent centralized programming. It is thought that the distributed programming systems that we ultimately deploy, in the future, when we’ve worked out all the details, will require a very different programming model and will even need to be evaluated by new criteria. The Mozart Programming System, described in this thesis, demonstrates that this need not be the case. It is shown that, with a good system design, distributed programming can be seen as an extended form of concurrent programming. This is from the programmer’s point-of-view; under the hood the design and implementation will necessarily be more complex. We relate the Mozart system with the classical transparencies of distributed systems. We show that some of these are inherently on the application level, while as Mozart demonstrates, others can and should be dealt with on the language/system level. The extensions to the programming model, given the right concurrent programming base, are mainly concerned with non-functional properties of programs. The models and tuning facilities for failure and performance need to take latency, bandwidth, and partial failure into account. Other than that there need not be any difference between concurrent programming and distributed programming. The Mozart Programming System is based on the concurrent programming language Oz, which integrates, in a coherent way, all three known concurrency or threadinteraction models. These are message-passing (like Erlang), shared objects (like Java with threads) and shared data-flow variables. The Mozart design philosophy is thus applicable over the entire range of concurrent programming languages/systems. We have extracted from the experience with Mozart a number of principles and properties that are applicable to the design and implementation of all (general-purpose) distributed programming systems. The full range of the design and implementation issues behind Mozart are presented. This includes a description of the consistency protocols that make transparency possible for the full language, including distributed objects and distributed data-flow variables. Mozart is extensively compared with other approaches to distributed programming, in general, and to other language-based distributed programming systems, in particular.
منابع مشابه
Design and Implementation of a Network Layer for Distributed Programming Platforms
This paper discuss the design, implementation and evaluation of a new network layer for Mozart. Mozart is one of the distributed programming platform which is based on the multi paradigm language namely Mozart supplies a factual network transparent implementation by maintaining network awareness, openness, and also fault tolerance. Its network layer provides message passing service to its highe...
متن کاملOpen Programming Services for Virtual Machines The Design of Mozart and SEAM
This paper discusses designs for integrating services in general and open programming services in particular into virtual machines. We draw on our experience with two systems. The first is Mozart, a programming system implementing the language Oz. Mozart’s virtual machine provides a rich set of services for open programming, such as concurrency, persistence of data and code, components with dyn...
متن کاملMozart A Programming System for Agent Applications
The Mozart Programming System is a development platform designed for distributed programming sym bolic computation and constraint based inferenc ing This article gives a survey of the abilities of Mozart for open concurrent resource aware dis tributed computing We show by example how easy it is to develop applications with these properties This makes Mozart particularly well suited for build in...
متن کاملRobust inter and intra-cell layouts design model dealing with stochastic dynamic problems
In this paper, a novel quadratic assignment-based mathematical model is developed for concurrent design of robust inter and intra-cell layouts in dynamic stochastic environments of manufacturing systems. In the proposed model, in addition to considering time value of money, the product demands are presumed to be dependent normally distributed random variables with known expectation, variance, a...
متن کاملWaveform Design using Second Order Cone Programming in Radar Systems
Transmit waveform design is one of the most important problems in active sensing and communication systems. This problem, due to the complexity and non-convexity, has been always the main topic of many papers for the decades. However, still an optimal solution which guarantees a global minimum for this multi-variable optimization problem is not found. In this paper, we propose an attracting met...
متن کامل